package io.github.wslxm.springbootplus2.manage.test.model.dto;

import io.github.wslxm.springbootplus2.core.base.model.BaseDto;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.DecimalMax;
import jakarta.validation.constraints.DecimalMin;
import lombok.Data;
import lombok.ToString;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.Range;

import java.time.LocalDateTime;

/**
 * base--gc--代码生成测试表 DTO
 *
 * <p>
 * ::本代码由[兮家小二]提供的代码生成器生成,如有问题,请手动修改 ::作者CSDN:https://blog.csdn.net/qq_41463655
 * </p>

 * @author ws
 * @email 1720696548@qq.com
 * @date 2025-03-14 15:43:20
 */
@Data
@ToString(callSuper = true)
@Schema(name = "base--gc--代码生成测试表")
public class GcTestDTO extends BaseDto {

    private static final long serialVersionUID = -1900452674127253504L;
    
    @Schema(description = "名称")
    @Length(min=0, max=64,message = "名称 必须>=0 和 <=64位")
    private String name;

    @Schema(description = "年龄")
    @DecimalMin(value="0",message="年龄 必须 >= 0")
    @DecimalMax(value="9999999999.99",message="年龄 必须 <= 9999999999.99")
    private Double age;

    @Schema(description = "性别")
    @Range(min=0L, max=999999999L,message = "性别 必须>=0 和 <=999999999")
    private Integer sex;

    @Schema(description = "爱好")
    @Length(min=0, max=64,message = "爱好 必须>=0 和 <=64位")
    private String like;

    @Schema(description = "城市")
    @Range(min=0L, max=999999999L,message = "城市 必须>=0 和 <=999999999")
    private Integer city;

    @Schema(description = "禁用")
    @Range(min=0L, max=999999999L,message = "禁用 必须>=0 和 <=999999999")
    private Integer disable;

    @Schema(description = "单图文件")
    @Length(min=0, max=256,message = "单图文件 必须>=0 和 <=256位")
    private String headUrl;

    @Schema(description = "多图文件")
    @Length(min=0, max=1024,message = "多图文件 必须>=0 和 <=1024位")
    private String headFiles;

    @Schema(description = "视频文件")
    @Length(min=0, max=1024,message = "视频文件 必须>=0 和 <=1024位")
    private String videoFiles;

    @Schema(description = "任意文件")
    @Length(min=0, max=1024,message = "任意文件 必须>=0 和 <=1024位")
    private String files;

    @Schema(description = "时间")
    private LocalDateTime time;

    @Schema(description = "时间-小时")
    @Length(min=0, max=16,message = "时间-小时 必须>=0 和 <=16位")
    private String timeTwo;

    @Schema(description = "更多信息-text")
    @Length(min=0, max=128,message = "更多信息-text 必须>=0 和 <=128位")
    private String text;

    @Schema(description = "更多信息-fwb")
    @Length(min=0, max=999,message = "更多信息-fwb 必须>=0 和 <=999位")
    private String textTwo;

    @Schema(description = "更多信息-md")
    @Length(min=0, max=999,message = "更多信息-md 必须>=0 和 <=999位")
    private String textThree;

    @Schema(description = "级联选择器")
    @Length(min=0, max=256,message = "级联选择器 必须>=0 和 <=256位")
    private String cascader;

    @Schema(description = "数组框")
    @Length(min=0, max=256,message = "数组框 必须>=0 和 <=256位")
    private String array;

    @Schema(description = "图标")
    @Length(min=0, max=256,message = "图标 必须>=0 和 <=256位")
    private String icon;

    @Schema(description = "颜色选择器")
    @Length(min=0, max=256,message = "颜色选择器 必须>=0 和 <=256位")
    private String color;

    @Schema(description = "地址选择器")
    @Length(min=0, max=256,message = "地址选择器 必须>=0 和 <=256位")
    private String map;

}

